Merged
Conversation
Gives an alterative way to construct a Batch, no good reason to keep them private.
Moves a point towards another point by an offset without overshooting.
These are needed often enough that adding them manually is a pain.
Implements airplane-like control of the pitch (elevation), yaw (bearing), and roll (bank) angles of the camera. These angles are also known to as Tait–Bryan angles.
* Color::clamp(): like in Vec and Point * VecN::normalize_or_zero(): don't panic, return zero * MatN::origin(): return the translation vector as a point * Batch::append(): append the geometry of a batch to another * Tri::centroid(): return the center point of a triangle
Supports linear, radial, and conical gradients with arbitrary color maps.
Implements the "slab method" described in https://en.wikipedia.org/wiki/Slab_method
The core module started getting really crowded. Added a glob re-export to keep all existing paths valid.
Add proper unit tests for linear and translate/origin
* Implement fallback sqrt, finally * Fix negative divisor in fallback rem_euclid * Fix negative zero in fallback floor and rem_euclid * Add exp and log2 to mm feature * Improve mm sqrt and inv_sqrt precision * Improve test coverage and consistency
* Triangle filling * Triangle clipping * Ray-bbox/sphere intersection
Revamp tests to ensure that the methods are approximate inverses.
* No square roots needed * Division only when needed * Early exits in unlikely cases only pessimize
* Add some #[inline]s and #[inline(never)]s * Use unit-tagged matrix and vector types internally * Avoid formatting machinery when not needed * Polymorphize Lathe::build_with
Reduces generic bloat.
Can be used to reduce generic bloat and needless Vector wrapping.
Require that (a, b, c) passed to Plane::new is unit length. Removes the need for normalizing on the fly and the abc() helper.
* Line-line * Ray-line * Ray-edge * Edge-edge These are all in the same "family", just different constraints.
This is a better match and allows making various Target impls generic over any pixel format. The custom Framebuf type for SDL2 could be removed.
* Similar to SDL2 frontend * Removes the unsafe block casting [u32] to [u8] * Fixes component order from BGRA to RGBA, oops.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.